package com.zy.cat.common.annotation;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
import java.util.concurrent.TimeUnit;

@Retention(RetentionPolicy.RUNTIME)
@Target({ ElementType.METHOD, ElementType.TYPE })
public @interface RedisPut {
	/** 缓存key */
	String key() default "";

	/** 缓存hashKey */
	String hashKey() default "";

	/** 缓存数据库默认 0 */
	int db() default 0;

	/** 缓存类型 1.Value 2.Hash */
	int rtype() default 1;

	/** SQL执行时间，用于获取锁失败后，下次获取锁的等候时间。 时间类型：毫秒 ，默认200毫秒 */
	long waitExpire() default 200;

	/** 锁过期时间,0.永不过期，默认30秒 */
	long lockExpire() default 30;

	/** 过期时间类型，默认小时 **/
	TimeUnit timeUnit() default TimeUnit.HOURS;

	/** 过期时间，默认1 **/
	long timeOut() default 1;

}